package tech.waterism.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "区域数据dto")
public class AreaDataDto {

    /**
     * 区域代码
     */
    @ApiModelProperty(value = "区域代码")
    private String bnnm;

    /**
     * 二维水动力河道代码
     */
    @ApiModelProperty(value = "二维水动力河道代码")
    private String rvnm;

    /**
     * 区域节点
     */
    @ApiModelProperty(value = "区域节点")
    private List<AreaIndexDto> indices;

    /**
     * 预报时间
     */
    @ApiModelProperty(value = "预报时间")
    private Date fymdh;

    /**
     * 修正日期
     */
    @ApiModelProperty(value = "修正日期")
    private Date mymdh;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private Date eymdh;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private Date symdh;

    /**
     * 预置时间
     */
    @ApiModelProperty(value = "预置时间")
    private Date pymdh;

    /**
     * 计算时段长
     */
    @ApiModelProperty(value = "计算时段长")
    private Integer clen;

    /**
     * 时段单位
     */
    @ApiModelProperty(value = "时段单位")
    private String unt;

    /**
     * 重算节点
     */
    @ApiModelProperty(value = "重算节点")
    private String reCalStcd;

    /**
     * 重算节点计算是否优化
     */
    @ApiModelProperty(value = "重算节点计算是否优化")
    private Boolean reCalOptimization;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String comments;

    /**
     * 三种工况：
     * 0、按天然出流：令出流等于入流
     * 1、维持当前出流不变
     * 2、按调度规则
     * 3、按反算出流
     */
    @ApiModelProperty(value = "三种工况")
    private Integer dispatchType;

    /**
     * 全量存储
     */
    @ApiModelProperty(value = "全量存储")
    private boolean saveAll;

    /**
     * 反向优化计算列表
     */
    private List<String> revOptUuidList;
    /**
     * 规则调度错误信息
     */
    @ApiModelProperty(value = "规则调度错误信息")
    private String ruleMessage;
}

